home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / EXAMPLES / BROWSE / BROWSER.H < prev    next >
Text File  |  1992-12-07  |  2KB  |  96 lines

  1. #ifndef BROWSER_H
  2.  
  3. #ifndef GEMFAST_H
  4.   #include <gemfast.h>
  5. #endif
  6.  
  7. #ifndef DLLUTIL_H
  8.   #include "dllutil.h"
  9. #endif
  10.  
  11. typedef struct browse_line {
  12.     DllHeader    hdr;
  13.     char        *string;
  14.     short        length;
  15. } BrowseLine;
  16.  
  17. typedef struct browser {
  18.     DllHeader    hdr;
  19.     void        *userdata;
  20.     long        userflags;
  21.     int         (*useraction)();
  22.     DlList        linelist;
  23.     long        num_lines;
  24.     char        *title;
  25.     short        whandle;
  26. #ifdef BROWSER_INTERNALS        // clients can't touch (or even see) these...
  27.     short        wchar;
  28.     short        hchar;
  29.     short        longest_line;
  30.     long        curline_num;
  31.     short        leftcol_num;
  32.     short        rows_in_window;
  33.     short        cols_in_window;
  34.     GRECT        workrect;
  35. #endif
  36. } Browser;
  37.  
  38. #define BR_PREDELETE    1001
  39. #define BR_KEYSTROKE    1002
  40. #define BR_SEARCHSTR    1003
  41.  
  42. #if __STDC__
  43.  
  44.   extern void          *br_malloc(unsigned size);
  45.   extern void          br_free(void *block);
  46.  
  47.   extern void          br_update(Browser *b, int repaint);
  48.   extern Browser      *br_handle(int window_id);
  49.   extern void          br_action(Browser *b, int action, long lparm);
  50.   extern int          __br_action(Browser *b, int action, long lparm);
  51.   extern char          *br_title(Browser *b, char *newtitle);
  52.   extern void          br_event(XMULTI *xm);
  53.   extern void          br_delete(Browser *b);
  54.   extern void          br_shutdown(void);
  55.   extern Browser      *br_create(char *title, DlList *lines, GRECT *openrect);
  56.  
  57.   extern BrowseLine   *brl_add(DlList *lines, char *newline);
  58.   extern BrowseLine   *br_ladd(Browser *b, char *newline);
  59.   extern void          brl_delete(DlList *lines, void *line);
  60.   extern void          br_ldelete(Browser *b, BrowseLine *line);
  61.   extern void          br_recount(Browser *b);
  62.  
  63.   extern int          brf_load(char *filename, DlList *linelist);
  64.   extern Browser      *br_file(char *filename);
  65.  
  66. #else
  67.  
  68.   extern void          *br_malloc();   /* in brmalloc.c */
  69.   extern void          br_free();
  70.  
  71.   extern Browser      *br_create();   /* in brevent.c */
  72.   extern void          br_shutdown();
  73.   extern void          br_action();
  74.   extern int          __br_action();
  75.   extern char          *br_title();
  76.   extern void          br_update();
  77.   extern void          br_delete();
  78.   extern void          br_event();
  79.   extern Browser      *br_handle();
  80.  
  81.   extern BrowseLine   *brl_add();      /* in brllist.c */
  82.   extern BrowseLine   *br_ladd();
  83.   extern void          brl_delete();
  84.   extern void          br_ldelete();
  85.   extern void          br_recount();
  86.  
  87.   extern int          brf_load();      /* in brfile.c */
  88.   extern Browser      *br_file();
  89.  
  90. #endif
  91.  
  92. extern short br_errno;
  93.  
  94. #endif /* BROWSER_H */
  95.  
  96.